Empowering Software Debugging Through Architectural Support for Program Rollback
نویسندگان
چکیده
This paper proposes the use of processor support for program rollback, as a key primitive to enhance software debugging in production-run environments. We discuss how hardware support for program rollback can be used to characterize bugs on-the-fly, leverage code versioning for performance or reliability, sandbox device drivers, collect monitoring information with very low overhead, support failure-oblivious computing, and perform fault injection. To test our ideas, we built an FPGA prototype. We run several buggy applications on top of a version of Linux.
منابع مشابه
Compiler Support for Fine-Grain Software-Only Checkpointing
Checkpointing support allows program execution to roll-back to an earlier program point, discarding any modifications made since that point. Existing software-based checkpointing methods are mainly libraries that snapshot all of working-memory, and hence have prohibitive overhead for many potential applications. In this paper we present a light-weight, fine-grain checkpointing framework impleme...
متن کاملRollback and Huddle: Architectural Support for Trustworthy Application Replay
While research into building robust and survivable networks has steadily intensified in recent years, similar efforts at the application level and below have focused primarily on attack discovery, ignoring the larger issue of how to gracefully recover from an intrusion at that level. Our work attempts to bridge this inherent gap between theory and practice through the introduction of a new arch...
متن کاملFORMAware : framework of reflective components for managing architecture adaptation
Software engineers use abstraction to better understand, model and reason about the surrounding world. Recently Architecture Description Languages (ADLs) introduced new levels of abstraction with potential use at runtime to support system evolution. In this paper we propose the FORMAware architecture that blends run-time architectural representation with a reflective programming model to addres...
متن کاملAccMon : Automatically Detecting Memory - related Bugs via Program
This paper makes two contributions to architectural support for software debugging. First, it proposes a novel statistics-based, onthe-fly bug detection method called PC-based invariant detection. The idea is based on the observation that, in most programs, a given memory location is typically accessed by only a few instructions. Therefore, by capturing the invariant of the set of PCs that norm...
متن کاملGrammar-driven generation of domain-specific language debuggers
Domain-Specific Languages (DSLs) assist a software developer (or end-user) in writing a program using idioms that are similar to the abstractions found in a specific problem domain. Tool support for DSLs is lacking when compared to the capabilities provided for standard General-Purpose Languages (GPLs), such as Java and C++. For example, support for debugging a program written in a DSL is often...
متن کامل